Method and apparatus for implementing space time processing with unequal modulation and coding schemes

ABSTRACT

A method and apparatus for implementing spatial processing with unequal modulation and coding schemes (MCSs) or stream-dependent MCSs are disclosed. Input data may be parsed into a plurality of data streams, and spatial processing is performed on the data streams to generate a plurality of spatial streams. An MCS for each data stream is selected independently. The spatial streams are transmitted via multiple transmit antennas. At least one of the techniques of space time block coding (STBC), space frequency block coding (SFBC), quasi-orthogonal Alamouti coding, time reversed space time block coding, linear spatial processing and cyclic delay diversity (CDD) may be performed on the data/spatial streams. An antennal mapping matrix may then be applied to the spatial streams. The spatial streams are transmitted via multiple transmit antennas. The MCS for each data stream may be determined based on a signal-to-noise ratio of each spatial stream associated with the data stream.

CROSS REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No. 11/621,755 filed Jan. 10, 2007, which claims the benefit of U.S. Provisional Application No. 60/758,034 filed Jan. 11, 2006, the contents of which are hereby incorporated by reference herein.

FIELD OF INVENTION

The present invention is related to wireless communication systems. More particularly, the present invention is related to a method and apparatus for implementing spatial processing with unequal modulation and coding schemes (MCSs).

BACKGROUND

The IEEE 802.11n joint proposal group currently proposes using a hybrid space-time block code (STBC) and spatial division multiplexing (SDM) scheme for the next generation of high performance wireless networks. This hybrid STBC/SDM scheme results in unbalanced quality of service for data streams which translates into lower residual signal-to-noise ratio (SNR) at the output of a receiver. In conventional systems, equal MCSs are applied to all spatial streams. However, this results in a loss of benefits of the diversity gain for the spatial stream carried by STBC precoding.

Therefore, it would be desirable to provide a method and apparatus for applying unequal MCSs or stream-dependent MCSs while performing spatial processing, such as STBC.

SUMMARY

The present invention is related to a method and apparatus for implementing spatial processing with unequal MCSs or stream-dependent MCSs. Input data may be parsed into a plurality of data streams, and spatial processing is performed on the data streams to generate a plurality of spatial streams. An MCS for each data stream is selected independently. The spatial streams are then transmitted via multiple transmit antennas. At least one of the techniques of STBC, space frequency block coding (SFBC), quasi-orthogonal Alamouti coding, time reversed space time block coding, linear spatial processing and cyclic delay diversity (CDD) may be performed on the data/spatial streams. An antenna mapping matrix may then be applied to the spatial streams. The resulted spatial streams are then transmitted via multiple transmit antennas. The MCS for each data stream may be determined based on an SNR of each spatial stream associated with the data stream.

BRIEF DESCRIPTION OF THE DRAWINGS

A more detailed understanding of the invention may be had from the following description of a preferred embodiment, given by way of example and to be understood in conjunction with the accompanying drawings wherein:

FIG. 1 is a block diagram of a transmitter configured in accordance with the present invention;

FIG. 2 is a block diagram of a receiver configured in accordance with the present invention;

FIG. 3 is a block diagram of an exemplary spatial processing unit configured to perform STBC and/or linear spatial mapping; and

FIGS. 4 and 5 show simulation results for IEEE 802.11n channels E and B using a 3×2 antenna configuration and a linear minimum mean square error (LMMSE) receiver.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

In accordance with the present invention, unequal MCSs or stream-dependent MCSs are applied to different spatial streams. The present invention may be applied in an orthogonal frequency division multiplexing (OFDM)-multiple-input multiple-output (MIMO) system, a multi-carrier code division multiple access (MC-CDMA) system, a CDMA system, or the like. Unequal MCSs are applied in different data streams to take advantage of unequal SNRs for different data streams. For example, a higher order MCS may be applied to a spatial stream which has diversity coding and a lower order MCS to a spatial stream that does not have diversity coding to reduce the total self induced interference. With unequal MCSs, or stream-dependent MCSs, a simpler receiver algorithm, (e.g., linear minimum mean square error (LMMSE)), may be used due to the reduced self interference.

FIG. 1 is a block diagram of a transmitter 100 configured in accordance with the present invention. The transmitter 100 includes a channel encoder 102, a rate matching unit 104, a spatial parser 106, a plurality of interleavers 108 a-108 n _(ss), a plurality of constellation mappers 110 a-110 n _(ss), a plurality of multiplexers 116 a-116 n _(ss), a spatial processing unit 120, a plurality of inverse fast Fourier transform (IFFT) units 122 a-122 n _(tx), a plurality of cyclic prefix (CP) insertion units 124 a-124 n _(tx) and a plurality of transmit antennas 126 a-126 n _(tx). It should be noted that the configuration shown in FIG. 1 is provided as an example, not as a limitation, and the processing performed by the components may be implemented by more or less components and the order of processing may be changed.

The channel encoder 102 encodes input data 101. Adaptive modulation and coding (AMC) is used and any coding rate and any coding scheme may be used. For example, the coding rate may be ½, ⅓, ⅕, ¾, or the like. The coding scheme may be Turbo coding, convolutional coding, block coding, low density parity check (LDPC) coding, or the like. The encoded data 103 may be punctured by the rate matching unit 104.

The encoded data after rate matching 105 is parsed into a plurality of (N_(SS)) spatial streams 107 a-107 n _(ss) by the spatial parser 106. Data bits on each data stream 107 a-107 n _(ss) are preferably interleaved by the interleaver 108 a-108 n _(ss). The data bits after interleaving 109 a-109 n _(ss) are then mapped to symbols 111 a-111 n _(ss) by the constellation mappers 110 a-110 n _(ss) in accordance with a selected modulation scheme. The modulation scheme may be Quadrature phase shift keying (QPSK), 8PSK, 16 Quadrature amplitude modulation (QAM), 64 QAM, or the like. Control data 112 a-112 n _(ss) and/or pilots 114 a-114 n _(ss) are multiplexed with symbols 111 a-111 n _(ss) by the multiplexer 116 a-116 n _(ss). The symbols 117 a-117 n _(ss) (including the multiplexed control data 112 a-112 n _(ss) and/or pilots 114 a-114 n _(ss)) are processed by the spatial processing unit 120.

Alternatively, the input data 101 may be split prior to channel encoding and the split multiple input data may be encoded by two or more separate encoders. Alternatively, instead of, or in addition to, parsing one data stream into multiple data streams, several input data streams that may belong to one or more users may be processed to be transmitted via several spatial streams.

The spatial processing unit 120 selectively performs spatial processing on the symbols 117 a-117 n _(ss) based on channel state information 118 and outputs N_(TX) data streams 121 a-121 n _(tx). The spatial processing may be space time coding (STC), spatial multiplexing (SM), linear spatial mapping, or transmit beamforming. For STC, any form of STC may be used including STBC, SFBC, quasi-orthogonal Alamouti for four (4) transmit antennas, time reversed STBC (TR-STBC), CDD, or the like.

The channel state information 118 may be at least one of a V matrix for every sub-carrier, an SNR, a channel matrix rank, a channel condition number, delay spread, or short and/or long term channel statistics. The V matrix is an unitary matrix obtained from the singular value decomposition (SVD) of the estimated channel matrix. The channel condition number is related to the rank of the channel matrix. An ill-conditioned channel may be rank deficient. A low rank, or ill-conditioned channel would exhibit better robustness using a diversity scheme such as STBC since the channel would not have sufficient degree of freedom to support SM with transmit beamforming. A high rank channel would support higher data rates using SM with transmit beamforming. The channel state information 118 may be obtained using conventional techniques, such as direct channel feedback (DCFB).

The data streams 121 a-121 n _(tx) from the spatial processing unit 120 are processed by the IFFT units 122 a-122 n _(tx) which output time domain data 123 a-123 n _(tx). A CP is added to each of the time domain data 123 a-123 n _(tx) by the CP insertion unit 124 a-124 n _(tx). The time domain data with CP 125 a-125 n _(tx) is then transmitted via the transmit antennas 126 a-126 n _(tx).

FIG. 2 is a block diagram of a receiver 200 configured in accordance with the present invention. The receiver 200 comprises a plurality of receive antennas 202 a-202 n _(rx), a channel estimator 204, a noise estimator 206, a channel correlation matrix calculator 208, an SNR norm constant calculator 210, a plurality of OFDM processing units 212 a-212 n _(rx), a spatial decoder 214, a plurality of constellation de-mappers 216 a-216 n _(ss), a plurality of SNR normalization units 218 a-218 n _(ss), a plurality of de-interleavers 220 a-220 n _(ss), a spatial de-parser 222 and a decoder 224. It should be noted that the configuration shown in FIG. 2 is provided as an example, not as a limitation, and the processing performed by the components may be implemented by more or less components and the order of processing may be changed.

A plurality of received data streams 203 a-203 n _(rx) are input into the channel estimator 204, the noise estimator 206 and the OFDM processing units 212 a-212 n _(rx). The channel estimator 204 performs channel estimate to generate a channel matrix 205 using a conventional method. The noise estimator 206 calculates a noise variance 207. The channel correlation matrix calculator 208 generates a correlation matrix 209 from the channel matrix 205, which will be explained in detail hereinafter. The SNR norm constant calculator 210 calculates SNR norm constants 211 a-211 n _(ss) from the correlation matrix 209 and the noise variance 207, which will be explained in detail hereinafter.

Each of the OFDM processing unit 212 a-212 n, removes a CP from each received data stream 203 a-203 n _(rx) and performs a fast Fourier transform (FFT) to output frequency domain data 213 a-213 n _(rx). The outputs 213 a-213 n, from the OFDM processing units 212 a-212 n _(rx) are processed by the spatial decoder 214. The spatial decoder 214 may be a minimum mean square error (MMSE) decoder, an MMSE-successive interference cancellation (SIC) decoder or a maximum likelihood (ML) decoder.

After spatial decoding, the decoded data 215 a-215 n _(ss) is processed by the constellation de-mappers 216 a-216 n _(ss) to generate bit streams 217 a-217 n _(ss). The bit streams 217 a-217 n _(ss) are normalized by the SNR normalization units 218 a-218 n _(ss) based on the SNR norm constants 211 a-211 n _(ss). The normalized bits streams 219 a-219 n _(ss) are then processed by the de-interleavers 220 a-220 n _(ss). The de-interleaved bits 221 a-221 n _(ss) are merged into one bit stream 223 by the spatial de-parser 222. The bit stream 223 is then processed by the decoder 224 to recover the input data 225.

Hereinafter, spatial processing at the transmitter 100 and the receiver 200 will be explained with reference to STBC as a representative example. The following definitions will be used:

N_(TX): the number of transmit antennas;

N_(SS): the number of spatial streams;

N_(STS): the number of streams after STBC;

d_(k,n): a data vector at symbol time n;

s_(k,n): a vector after STBC at symbol time n;

x_(k,n): a vector after P matrix in FIG. 3 at symbol time n; and

y_(k,n): a received vector at symbol time n.

FIG. 3 is a block diagram of an exemplary spatial processing unit 120 configured to perform STBC and/or linear spatial mapping. The spatial processing unit 120 may include an STBC unit 302, a CDD unit 304 and an antenna mapping unit 306. Each of the symbols 117 a-117 n _(ss) is a stream of complex numbers. A complex symbol transmitted on a spatial stream i of a subcarrier k of an OFDM symbol n is denoted by d_(k,i,n). The STBC unit 302 processes two sequential OFDM symbols in each subcarrier. The output symbols from the STBC unit 302 on an output space-time stream i_(STS) on a subcarrier k on OFDM symbols 2m and 2 m+1 are given by:

s _(k,i) _(STS) _(,2m) =f _(0,i) _(STS) (d _(k,i) _(SS) _(,2m) ,d _(k,i) _(SS) _(,2m+1))

s _(k,i) _(STS) _(,2m+1) =f _(1,i) _(STS) (d _(k,i) _(SS) _(2m) ,d _(k,i) _(SS) _(,2m+1)),  Equation (1)

where f_(0,i) _(STS) and f_(1,i) _(STS) are defined in Table 1.

TABLE 1 N_(STS) N_(SS) i_(STS) f_(0, i) _(STS) f_(1, i) _(STS) 2 1 1 d_(k, 1, 2m) d_(k, 1, 2m+1) 2 −d_(k, 1, 2m+1)* d_(k, 1, 2m)* 3 2 1 d_(k, 1, 2m) d_(k, 1, 2m+1) 2 −d_(k, 1, 2m+1)* d_(k, 1, 2m)* 3 d_(k, 2, 2m) d_(k, 2, 2m+1) 4 2 1 d_(k, 1, 2m) d_(k, 1, 2m+1) 2 −d_(k, 1, 2m+1)* d_(k, 1, 2m)* 3 d_(k, 2, 2m) d_(k, 2, 2m+1) 4 −d_(k, 2, 2m+1)* d_(k, 2, 2m)* 3 1 d_(k, 1, 2m) d_(k, 1, 2m+1) 2 −d_(k, 1, 2m+1)* d_(k, 1, 2m)* 3 d_(k, 2, 2m) d_(k, 2, 2m+1) 4 d_(k, 3, 2m) d_(k, 3, 2m+1)

Linear spatial processing may be performed by the CDD unit 304 and the antenna mapping unit 306 on the output symbols from the STBC unit 302. If STBC is not performed, s_(k,i,n)=d_(k,i,n) and N_(STS)=N_(SS). Linear spatial processing is defined as a sequence of rotations of the vector of symbols that is to be transmitted in a given subcarrier. The processing by the CDD unit 304 and the antenna mapping unit 306 are expressed as follows:

x _(k,n) [P _(map)(k)]_(N) _(STS) C _(CDD)(k)s _(k,n),  Equation (2)

where s_(k,n)=[s_(k,1,n) . . . s_(k,N) _(STS) _(,n)]^(T) is an N_(STS)-vector of modulation symbols to be transmitted on a subcarrier k of an OFDM symbol n. C_(CDD)(k) is an N_(SS)×N_(SS) diagonal cyclic delay matrix which represents the cyclic delay in the frequency domain. The diagonal values are given by [C_(CDD)(k)]_(i,i)=exp(−j2πkΔ_(F)T_(CS) ^(i)). [P_(map)(k)]_(N) _(STS) is an N_(Tx)×N_(STS) STS matrix comprising the first N_(STS) columns of the N_(TX)×N_(TX) unitary antenna mapping matrix P_(map)(k). This may be an identity matrix for direct-mapped operation, a mapping matrix for spatial spreading operation, or a channel-specific steering matrix such as a set of channel eigenvectors. x_(k,n) is an N_(TX)-vector of transmitted symbols in a subcarrier k of an OFDM symbol n.

A channel matrix H_(eff) is an effective channel seen by the vector s_(k,n) so that:

y _(k,n) =H _(eff) s _(k,n) +n _(k,n).  Equation (3)

In the receiver, y_(k,2m) and y_(k,2m+1)* are combined into a single vector as follows:

$\begin{matrix} {y_{k} = {\begin{bmatrix} y_{k,{2m}} \\ y_{k,{{2m} + 1}}^{*} \end{bmatrix}.}} & {{Equation}\mspace{14mu} (4)} \end{matrix}$

Using Equations (3) and (4),

$\begin{matrix} {y_{k} = {\begin{bmatrix} {H_{eff}s_{k,{2m}}} \\ {H_{eff}^{*}s_{k,{{2m} + 1}}^{*}} \end{bmatrix} + {\begin{bmatrix} n_{k,{2m}} \\ n_{k,{{2m} + 1}}^{*} \end{bmatrix}.}}} & {{Equation}\mspace{14mu} (5)} \end{matrix}$

In the vectors s_(k,2m) and s_(k,2m+1)*, any data value that appears in either of them will appear either conjugated in both or unconjugated in both. This allows writing Equation (5) as a simple matrix form, as illustrated by the following specific example.

Consider the case of N_(tx)=3 and N_(ss)=2, (i.e., two (2) spatial streams are generated from input data by the spatial parser 106 and three data streams are generated from the spatial processing unit 120 at the transmitter 100). One of the three data streams is created from the modified replica of one data stream of the spatial parser 106 for transmit diversity as shown below.

From Table 1, for the case of N_(tx)=3 and N_(ss)=2, the following can be seen:

s _(k,1,2m) =d _(k,1,2m);

s _(k,2,2m) =−d _(k,1,2m+1)*; and

s _(k,3,2m) =d _(k,2,2m).

so that

$\begin{matrix} {s_{k,{2m}} = {\begin{bmatrix} d_{k,1,{2m}} \\ {- d_{k,1,{{2m} + 1}}^{*}} \\ d_{k,2,{2m}} \end{bmatrix}.}} & {{Equation}\mspace{14mu} (6)} \end{matrix}$

Also,

s _(k,1,2m+1) =d _(k,1,2m+1);

s _(k,2,2m+1) =d _(k,1,2m)*; and

s _(k,3,2m+1) =d _(k,2,2m+1).

so that

$\begin{matrix} {{s_{k,{{2m} + 1}} = \begin{bmatrix} d_{k,1,{{2m} + 1}} \\ d_{k,1,{2m}}^{*} \\ d_{k,2,{{2m} + 1}} \end{bmatrix}};} & {{Equation}\mspace{14mu} (7)} \\ {and} & \; \\ {s_{k,{{2m} + 1}}^{*} = {\begin{bmatrix} d_{k,1,{{2m} + 1}}^{*} \\ d_{k,1,{2m}} \\ d_{k,2,{{2m} + 1}}^{*} \end{bmatrix}.}} & {{Equation}\mspace{14mu} (8)} \end{matrix}$

Using Equations (6) and (8), Equation (5) can be re-written as a standard matrix equation involving the four data values d_(k,1,2m), d_(k,1,2m+1)*, d_(k,2,2m), d_(k,2,2m+1)* as follows (the asterisks mean conjugation, not Hermitian conjugation).

$\begin{matrix} {y_{k} = {\begin{bmatrix} {H_{eff}\left( {\text{:},1} \right)} & {- {H_{eff}\left( {\text{:},2} \right)}} & {H_{eff}\left( {\text{:},3} \right)} & 0 \\ {H_{eff}^{*}\left( {\text{:},2} \right)} & {H_{eff}^{*}\left( {\text{:},1} \right)} & 0 & {H_{eff}^{*}\left( {\text{:},3} \right)} \end{bmatrix} + {\quad{\begin{bmatrix} d_{k,1,{2m}} \\ d_{k,1,{{2m} + 1}}^{*} \\ d_{k,2,{2m}} \\ d_{k,2,{{2m} + 1}}^{*} \end{bmatrix} + {\begin{bmatrix} n_{k,{2m}} \\ n_{k,{{2m} + 1}}^{*} \end{bmatrix}.}}}}} & {{Equation}\mspace{14mu} (9)} \end{matrix}$

This is now in a standard MIMO form, but with a channel matrix which is a composite of the various columns of H_(eff). The receiver 200 demodulates the data vector d:

$\begin{matrix} {d = {\begin{bmatrix} d_{k,1,{2m}} \\ d_{k,1,{{2m} + 1}}^{*} \\ d_{k,2,{2m}} \\ d_{k,2,{{2m} + 1}}^{*} \end{bmatrix}.}} & {{Equation}\mspace{14mu} (10)} \end{matrix}$

An MMSE demodulator may be used for the data vector in Equation (10). Let the channel matrix in Equation (9) be denoted as follows:

$\begin{matrix} {\overset{\sim}{H} = {\begin{bmatrix} {H_{eff}\left( {\text{:},1} \right)} & {- {H_{eff}\left( {\text{:},2} \right)}} & {H_{eff}\left( {\text{:},3} \right)} & 0 \\ {H_{eff}^{*}\left( {\text{:},2} \right)} & {H_{eff}^{*}\left( {\text{:},1} \right)} & 0 & {H_{eff}^{*}\left( {\text{:},3} \right)} \end{bmatrix}.}} & {{Equation}\mspace{14mu} (11)} \end{matrix}$

An MMSE solution is as follows (dropping the index k and using the symbol ‘+’ for Hermitian conjugate):

$\begin{matrix} {{\hat{d} = {\left( {{\frac{1}{\sigma_{d}^{2}}I} + {\frac{1}{\sigma_{n}^{2}}\overset{\sim}{H}} + \overset{\sim}{H}} \right)^{- 1}{\overset{\sim}{H}}^{+}\frac{1}{\sigma_{n}^{2}}y}};} & {{Equation}\mspace{14mu} (12)} \end{matrix}$

or, equivalently,

$\begin{matrix} {\hat{d} = {\left( {{\frac{\sigma_{n}^{2}}{\sigma_{d}^{2}}I} + {{\overset{\sim}{H}}^{+}\overset{\sim}{H}}} \right)^{- 1}{\overset{\sim}{H}}^{+}{y.}}} & {{Equation}\mspace{14mu} (13)} \end{matrix}$

Equation (9) can be written as follows:

y={tilde over (H)}d+n.  Equation (14)

Substituting Equation (14) into Equation (12) yields:

$\begin{matrix} {\hat{d} = {{\left( {{\frac{\sigma_{n}^{2}}{\sigma_{d}^{2}}I} + {{\overset{\sim}{H}}^{+}\overset{\sim}{H}}} \right)^{- 1}{\overset{\sim}{H}}^{+}\overset{\sim}{H}d} + {\left( {{\frac{\sigma_{n}^{2}}{\sigma_{d}^{2}}I} + {{\overset{\sim}{H}}^{+}\overset{\sim}{H}}} \right)^{- 1}{\overset{\sim}{H}}^{+}{n.}}}} & {{Equation}\mspace{14mu} (15)} \end{matrix}$

Using Equation (11), the correlation matrix {tilde over (H)}⁺{tilde over (H)} becomes as follows:

$\begin{matrix} {{{\overset{\sim}{H}}^{+}\overset{\sim}{H}} = {\begin{bmatrix} {H_{eff}^{+}\left( {\text{:},1} \right)} & {H_{eff}^{T}\left( {\text{:},2} \right)} \\ {- {H_{eff}^{+}\left( {\text{:},2} \right)}} & {H_{eff}^{T}\left( {\text{:},1} \right)} \\ {H_{eff}^{+}\left( {\text{:},3} \right)} & 0 \\ 0 & {H_{eff}^{T}\left( {\text{:},3} \right)} \end{bmatrix}\begin{bmatrix} {H_{eff}\left( {\text{:},1} \right)} & {- {H_{eff}\left( {\text{:},2} \right)}} & {H_{eff}\left( {\text{:},3} \right)} & 0 \\ {H_{eff}^{*}\left( {\text{:},2} \right)} & {H_{eff}^{*}\left( {\text{:},1} \right)} & 0 & {H_{eff}^{*}\left( {\text{:},3} \right)} \end{bmatrix}}} & {{Equation}\mspace{14mu} (16)} \\ {{{\overset{\sim}{H}}^{+}\overset{\sim}{H}} = \begin{bmatrix} {{{H_{eff}\left( {\text{:},1} \right)}}^{2} + {{H_{eff}\left( {\text{:},2} \right)}}^{2}} & 0 & {{H_{eff}^{+}\left( {\text{:},1} \right)}{H_{eff}\left( {\text{:},3} \right)}} & {{H_{eff}^{+}\left( {\text{:},3} \right)}{H_{eff}\left( {\text{:},2} \right)}} \\ 0 & {{{H_{eff}\left( {\text{:},1} \right)}}^{2} + {{H_{eff}\left( {\text{:},2} \right)}}^{2}} & {{- {H_{eff}^{+}\left( {\text{:},2} \right)}}{H_{eff}\left( {\text{:},3} \right)}} & {{H_{eff}^{+}\left( {\text{:},3} \right)}{H_{eff}\left( {\text{:},1} \right)}} \\ {{H_{eff}^{+}\left( {\text{:},3} \right)}{H_{eff}\left( {\text{:},1} \right)}} & {{- {H_{eff}^{+}\left( {\text{:},3} \right)}}{H_{eff}\left( {\text{:},2} \right)}} & {{H_{eff}\left( {\text{:},3} \right)}}^{2} & 0 \\ {{H_{eff}^{+}\left( {\text{:},2} \right)}{H_{eff}\left( {\text{:},3} \right)}} & {{H_{eff}^{+}\left( {\text{:},1} \right)}{H_{eff}\left( {\text{:},3} \right)}} & 0 & {{H_{eff}\left( {\text{:},3} \right)}}^{2} \end{bmatrix}} & \; \end{matrix}$

The effective SNR for the k^(th) data stream in Equation (9), after MMSE receiver processing, is known to be:

$\begin{matrix} {{{{SNR}_{k} = {\frac{1}{\left( {I + {\rho {\overset{\sim}{H}}^{+}\overset{\sim}{H}}} \right)_{kk}^{- 1}} - 1}};}{{{where}\mspace{14mu} \rho} = {\frac{\sigma_{d}^{2}}{\sigma_{n}^{2}}.}}} & {{Equation}\mspace{14mu} (17)} \end{matrix}$

For high SNR, Equation (17) becomes:

$\begin{matrix} {{SNR}_{k} \approx {\frac{\rho}{\left( {{\overset{\sim}{H}}^{+}\overset{\sim}{H}} \right)_{kk}^{- 1}}.}} & {{Equation}\mspace{14mu} (18)} \end{matrix}$

The matrix {tilde over (H)}⁺{tilde over (H)} has the form:

$\begin{matrix} {{{\overset{\sim}{H}}^{+}\overset{\sim}{H}} = {\begin{bmatrix} x & 0 & a & b \\ 0 & x & {- b^{*}} & a^{*} \\ a^{*} & {- b} & z & 0 \\ b^{*} & a & 0 & z \end{bmatrix}.}} & {{Equation}\mspace{14mu} (19)} \end{matrix}$

The definitions of the parameters in Equation (19) are easily found from the expression for {tilde over (H)}⁺{tilde over (H)}. Using the general formula for the inverse of a matrix as follows:

$\begin{matrix} {{A^{- 1} = \frac{{cof}^{T}(A)}{\det (A)}};} & {{Equation}\mspace{14mu} (20)} \end{matrix}$

it can be shown that the diagonal elements of ({tilde over (H)}⁺{tilde over (H)})⁻¹ are given by:

$\begin{matrix} {{\left( {{\overset{\sim}{H}}^{+}\overset{\sim}{H}} \right)_{11}^{- 1} = \frac{z\left( {{xz} - {b}^{2} - {a}^{2}} \right)}{\det \left( {{\overset{\sim}{H}}^{+}\overset{\sim}{H}} \right)}};} & {{Equation}\mspace{14mu} (21)} \\ {{\left( {{\overset{\sim}{H}}^{+}\overset{\sim}{H}} \right)_{22}^{- 1} = \frac{z\left( {{xz} - {b}^{2} - {a}^{2}} \right)}{\det \left( {{\overset{\sim}{H}}^{+}\overset{\sim}{H}} \right)}};} & {{Equation}\mspace{14mu} (22)} \\ {{\left( {{\overset{\sim}{H}}^{+}\overset{\sim}{H}} \right)_{33}^{- 1} = \frac{x\left( {{xz} - {b}^{2} - {a}^{2}} \right)}{\det \left( {{\overset{\sim}{H}}^{+}\overset{\sim}{H}} \right)}};{and}} & {{Equation}\mspace{14mu} (23)} \\ {\left( {{\overset{\sim}{H}}^{+}\overset{\sim}{H}} \right)_{44}^{- 1} = {\frac{x\left( {{xz} - {b}^{2} - {a}^{2}} \right)}{\det \left( {{\overset{\sim}{H}}^{+}\overset{\sim}{H}} \right)}.}} & {{Equation}\mspace{14mu} (24)} \end{matrix}$

Using Equation (18), SNRs for each data streams are obtained as follows:

$\begin{matrix} {{{SNR}_{1} = {\rho \frac{\det \left( {{\overset{\sim}{H}}^{+}\overset{\sim}{H}} \right)}{z\left( {{xz} -} \middle| b \middle| {}_{2}{- |a|^{2}} \right)}}};} & {{Equation}\mspace{14mu} (25)} \\ {{{SNR}_{2} = {\rho \frac{\det \left( {{\overset{\sim}{H}}^{+}\overset{\sim}{H}} \right)}{z\left( {{xz} -} \middle| b \middle| {}_{2}{- |a|^{2}} \right)}}};} & {{Equation}\mspace{14mu} (26)} \\ {{{SNR}_{3} = {\rho \frac{\det \left( {{\overset{\sim}{H}}^{+}\overset{\sim}{H}} \right)}{x\left( {{xz} -} \middle| b \middle| {}_{2}{- |a|^{2}} \right)}}};{and}} & {{Equation}\mspace{14mu} (27)} \\ {{SNR}_{4} = {\rho {\frac{\det \left( {{\overset{\sim}{H}}^{+}\overset{\sim}{H}} \right)}{x\left( {{xz} -} \middle| b \middle| {}_{2}{- |a|^{2}} \right)}.}}} & {{Equation}\mspace{14mu} (28)} \end{matrix}$

For any above channel realization, the first two components of d (the ones which have the STBC code applied to them) have the same SNR, and the other two have also equal SNR. The second one is generally smaller than the first one. The ratio of the SNRs for the coded to the uncoded components of d is as follows:

$\begin{matrix} {\frac{{SNR}_{1,2}}{{SNR}_{3,4}} = {\frac{x}{z} = {\frac{\left. ||{H_{eff}\left( {\text{:},1} \right)}||{}_{2}{+ \left. ||{H_{eff}\left( {\text{:},2} \right)} \right.||^{2}} \right.}{\left. ||{H_{eff}\left( {\text{:},3} \right)} \right.||^{2}}.}}} & {{Equation}\mspace{14mu} (29)} \end{matrix}$

Assuming that the three columns of H_(eff) have similar properties, the SNR will be about 3 dB higher on average for the STBC coded symbols.

In implementing STBC, a pair of subsequent symbols may be transmitted via a same frequency or different frequencies. For evaluation, the simplest case of N_(tx)=2 and N_(ss)=1 is considered herein supposing that there is only one receive antenna at the receiver. The effective channel matrix is represented as a 1×2 matrix as follows:

H _(eff) =[h ₁ h ₂]  Equation (30)

and the data vector becomes as follows:

$\begin{matrix} {d = {\begin{bmatrix} d_{k,1,{2m}} \\ d_{k,1,{{2m} + 1}}^{*} \end{bmatrix}.}} & {{Equation}\mspace{14mu} (31)} \end{matrix}$

When the same frequency is used for the successive symbols, H_(eff) is the same for both symbols and Equation (5) becomes as follows:

$\begin{matrix} {y_{k} = {{\begin{bmatrix} h_{1} & {- h_{2}} \\ h_{2}^{*} & h_{1}^{*} \end{bmatrix}\begin{bmatrix} d_{k,1,{2m}} \\ d_{k,1,{{2m} + 1}}^{*} \end{bmatrix}} + {\begin{bmatrix} n_{k,{2m}} \\ n_{k,{{2m} + 1}}^{*} \end{bmatrix}.}}} & {{Equation}\mspace{14mu} (32)} \end{matrix}$

If a zero forcing receiver is used, the first step is to multiply y_(k) by the Hermitian conjugate of the channel matrix:

${\overset{\sim}{H} = \begin{bmatrix} h_{1} & {- h_{2}} \\ h_{2}^{*} & h_{1}^{*} \end{bmatrix}};$ to  get $\begin{matrix} \begin{matrix} {{{\overset{\sim}{H}}^{+}y_{k}} = {{{\begin{bmatrix} h_{1}^{*} & h_{2} \\ {- h_{2}^{*}} & h_{1} \end{bmatrix}\begin{bmatrix} h_{1} & {- h_{2}} \\ h_{2}^{*} & h_{1}^{*} \end{bmatrix}}\begin{bmatrix} d_{k,1,{2m}} \\ d_{k,1,{{2m} + 1}}^{*} \end{bmatrix}} + {\begin{bmatrix} h_{1}^{*} & h_{2} \\ {- h_{2}^{*}} & h_{1} \end{bmatrix}\begin{bmatrix} n_{k,{2m}} \\ n_{k,{{2m} + 1}}^{*} \end{bmatrix}}}} \\ {= {{\begin{bmatrix} \left| h_{1} \middle| {}_{2}{+ \left| h_{2} \right|^{2}} \right. & 0 \\ 0 & \left| h_{1} \middle| {}_{2}{+ \left| h_{2} \right|^{2}} \right. \end{bmatrix}\begin{bmatrix} d_{k,1,{2m}} \\ d_{k,1,{{2m} + 1}}^{*} \end{bmatrix}} + {{\begin{bmatrix} h_{1}^{*} & h_{2} \\ {- h_{2}^{*}} & h_{1} \end{bmatrix}\begin{bmatrix} n_{k,{2m}} \\ n_{k,{{2m} + 1}}^{*} \end{bmatrix}}.}}} \end{matrix} & {{Equation}\mspace{14mu} (33)} \end{matrix}$

The diagonal matrix elements |h₁|²+|h₂|² in the signal part represent the diversity of order 2 that is gained by the STBC code.

When different frequencies are used for the successive symbols, the effective channels for the two symbols are as follows:

H_(eff)=[h₁ h₂] for the first symbol; and

H_(eff)=[g₁ g₂] for the second symbol.

In this case the modified Equation (5) becomes as follows:

$\begin{matrix} {{y_{k} = {{\begin{bmatrix} h_{1} & {- h_{2}} \\ g_{2}^{*} & g_{1}^{*} \end{bmatrix}\begin{bmatrix} d_{k,1,{2m}} \\ d_{k,1,{{2m} + 1}}^{*} \end{bmatrix}} + \begin{bmatrix} n_{k,{2m}} \\ n_{k,{{2m} + 1}}^{*} \end{bmatrix}}};} & {{Equation}\mspace{14mu} (34)} \end{matrix}$

and the followings are obtained:

$\begin{matrix} {{{\overset{\sim}{H} = \begin{bmatrix} h_{1} & {- h_{2}} \\ g_{2}^{*} & g_{1}^{*} \end{bmatrix}};}{and}} & {{Equation}\mspace{14mu} (35)} \\ \begin{matrix} {{{\overset{\sim}{H}}^{+}y_{k}} = {{{\begin{bmatrix} h_{1}^{*} & g_{2} \\ {- h_{2}^{*}} & g_{1} \end{bmatrix}\begin{bmatrix} h_{1} & {- h_{2}} \\ g_{2}^{*} & g_{1}^{*} \end{bmatrix}}\begin{bmatrix} d_{k,1,{2m}} \\ d_{k,1,{{2m} + 1}}^{*} \end{bmatrix}} + {\begin{bmatrix} h_{1}^{*} & g_{2} \\ {- h_{2}^{*}} & g_{1} \end{bmatrix}\begin{bmatrix} n_{k,{2m}} \\ n_{k,{{2m} + 1}}^{*} \end{bmatrix}}}} \\ {= {{\begin{bmatrix} \left| h_{1} \middle| {}_{2}{+ \left| g_{2} \right|^{2}} \right. & {{{- h_{1}^{*}}h_{2}} + {g_{1}^{*}g_{2}}} \\ {{{- h_{2}^{*}}h_{1}} + {g_{2}^{*}g_{1}}} & \left| h_{2} \middle| {}_{2}{+ \left| g_{2} \right|^{2}} \right. \end{bmatrix}\begin{bmatrix} d_{k,1,{2m}} \\ d_{k,1,{{2m} + 1}}^{*} \end{bmatrix}} + {{\begin{bmatrix} h_{1}^{*} & g_{2} \\ {- h_{2}^{*}} & g_{1} \end{bmatrix}\begin{bmatrix} n_{k,{2m}} \\ n_{k,{{2m} + 1}}^{*} \end{bmatrix}}.}}} \end{matrix} & {{Equation}\mspace{14mu} (36)} \end{matrix}$

-   -   Equation (36)

The diagonal matrix elements |h₁|²+|g₂|² in the signal part represent the i diversity of order 2 that is gained by the STBC code. In this case, the diagonal elements still represent diversity of order 2. However, the off-diagonal elements contribute interference (i.e., non-orthogonality).

For the 2×1 case of Table 1, Equation (5) becomes as follows:

$\begin{matrix} {{{y_{k} = {{\begin{bmatrix} h_{1} & {- h_{2}} \\ h_{2}^{*} & h_{1}^{*} \end{bmatrix}\begin{bmatrix} d_{k,1,{2m}} \\ d_{k,1,{{2m} + 1}}^{*} \end{bmatrix}} + \begin{bmatrix} n_{k,{2m}} \\ n_{k,{{2m} + 1}}^{*} \end{bmatrix}}};}{wherein}} & {{Equation}\mspace{14mu} (37)} \\ {{{\overset{\sim}{H} = \begin{bmatrix} h_{1} & {- h_{2}} \\ h_{2}^{*} & h_{1}^{*} \end{bmatrix}};}{and}} & {{Equation}\mspace{14mu} (38)} \\ {d = {\begin{bmatrix} d_{k,1,{2m}} \\ d_{k,1,{{2m} + 1}}^{*} \end{bmatrix}.}} & {{Equation}\mspace{14mu} (39)} \end{matrix}$

The MMSE estimator of d in this case is as follows:

{circumflex over (d)}=ρ{tilde over (H)} ⁺(ρ{tilde over (H)}{tilde over (H)} ⁺ +I)⁻¹ y _(k).  Equation (40)

$\begin{matrix} {{\overset{\sim}{H}{\overset{\sim}{H}}^{+}} = {{\begin{bmatrix} h_{1} & {- h_{2}} \\ h_{2}^{*} & h_{1}^{*} \end{bmatrix}\begin{bmatrix} h_{1}^{*} & h_{2} \\ {- h_{2}^{*}} & h_{1} \end{bmatrix}} = {\quad{\begin{bmatrix} \left| h_{1} \middle| {}_{2}{+ \left| h_{2} \right|^{2}} \right. & 0 \\ 0 & \left| h_{1} \middle| {}_{2}{+ \left| h_{2} \right|^{2}} \right. \end{bmatrix}.}}}} & {{Equation}\mspace{14mu} (41)} \end{matrix}$

Equation (40) becomes:

$\begin{matrix} {{\hat{d} = {{{\rho \begin{bmatrix} h_{1`}^{*} & h_{2} \\ {- h_{2}^{*}} & h_{1} \end{bmatrix}}\begin{bmatrix} {{\rho \left( \left| h_{1} \middle| {}_{2}{+ \left| h_{2} \right|^{2}} \right. \right)} + 1} & 0 \\ 0 & {{\rho \left( \left| h_{1} \middle| {}_{2}{+ \left| h_{2} \right|^{2}} \right. \right)} + 1} \end{bmatrix}}^{- 1}y_{k}}};} & {{Equation}\mspace{14mu} (42)} \\ {\begin{bmatrix} {\hat{d}}_{2m} \\ {\hat{d}}_{{2m} + 1}^{*} \end{bmatrix} = {{{\frac{\rho}{{\rho \left( \left| h_{1} \middle| {}_{2}{+ \left| h_{2} \right|^{2}} \right. \right)} + 1}\begin{bmatrix} h_{1}^{*} & h_{2} \\ {- h_{2}^{*}} & h_{1} \end{bmatrix}}\begin{bmatrix} y_{2m} \\ y_{{2m} + 1}^{*} \end{bmatrix}}.}} & {{Equation}\mspace{14mu} (43)} \end{matrix}$

Alternatively, the MMSE estimates of d_(2m) and d_(2m+1) may be found using just y_(2m) and then y_(2m+1) and then adding them up. Applying this scheme for the first symbol:

$\begin{matrix} {{y_{2m} = {{\left\lbrack {h_{1}\mspace{14mu} h_{2}} \right\rbrack \begin{bmatrix} d_{2m} \\ {- d_{{2m} + 1}^{*}} \end{bmatrix}} + n_{2m}}},} & {{Equation}\mspace{14mu} (44)} \end{matrix}$

and the MMSE estimate of the data vector from the first symbol is:

$\begin{matrix} {{\begin{bmatrix} {\hat{d}}_{2m} \\ {- {\hat{d}}_{{2m} + 1}^{*}} \end{bmatrix} = {{\rho \begin{bmatrix} h_{1}^{*} \\ h_{2}^{*} \end{bmatrix}}\left( {{{\rho \left\lbrack {h_{1}\mspace{14mu} h_{2}} \right\rbrack}\begin{bmatrix} h_{1}^{*} \\ h_{2}^{*} \end{bmatrix}} + 1} \right)^{- 1}y_{2m}}},{or},} & {{Equation}\mspace{14mu} (45)} \\ {\begin{bmatrix} {\hat{d}}_{2m} \\ {- {\hat{d}}_{{2m} + 1}^{*}} \end{bmatrix} = {{\frac{\rho}{{\rho \left( \left| h_{1} \middle| {}_{2}{+ \left| h_{2} \right|^{2}} \right. \right)} + 1}\begin{bmatrix} h_{1}^{*} \\ h_{2}^{*} \end{bmatrix}}{y_{2m}.}}} & {{Equation}\mspace{14mu} (46)} \end{matrix}$

Applying this scheme for the second symbol:

$\begin{matrix} {{y_{{2m} + 1} = {{\left\lbrack {h_{1}\mspace{14mu} h_{2}} \right\rbrack \begin{bmatrix} d_{{2m} + 1} \\ d_{2m}^{*} \end{bmatrix}} + n_{{2m} + 1}}},} & {{Equation}\mspace{14mu} (47)} \end{matrix}$

and the MMSE estimate of the data vector from the second symbol is:

$\begin{matrix} {{\begin{bmatrix} {\hat{d}}_{{2m} + 1} \\ {\hat{d}}_{2m}^{*} \end{bmatrix} = {{\rho \begin{bmatrix} h_{1}^{*} \\ h_{2}^{*} \end{bmatrix}}\left( {{{\rho \left\lbrack {h_{1}\mspace{14mu} h_{2}} \right\rbrack}\begin{bmatrix} h_{1}^{*} \\ h_{2}^{*} \end{bmatrix}} + 1} \right)^{- 1}y_{{2m} + 1}}},{or},} & {{Equation}\mspace{14mu} (48)} \\ {\begin{bmatrix} {\hat{d}}_{{2m} + 1} \\ {\hat{d}}_{2m}^{*} \end{bmatrix} = {{\frac{\rho}{{\rho \left( \left| h_{1} \middle| {}_{2}{+ \left| h_{2} \right|^{2}} \right. \right)} + 1}\begin{bmatrix} h_{1}^{*} \\ h_{2}^{*} \end{bmatrix}}{y_{{2m} + 1}.}}} & {{Equation}\mspace{14mu} (49)} \end{matrix}$

Using Equations (47) and (49), the two estimates of d_(2m) are added up as follows:

$\begin{matrix} {{\hat{d}}_{2m} = {{\frac{\rho}{{\rho \left( \left| h_{1} \middle| {}_{2}{+ \left| h_{2} \right|^{2}} \right. \right)} + 1}\left\lbrack {{h_{1}^{*}\mspace{14mu} y_{2m}} + {h_{2}\mspace{14mu} y_{2m~1}^{*}}} \right\rbrack}.}} & {{Equation}\mspace{14mu} (50)} \end{matrix}$

The result is same to the result obtained in Equation (43). Doing the sum for the estimate of d_(2m+1) will also result in the same as that from Equation (43). Thus, in the simple 2×1 Alamouti scheme, the two decoding techniques are identical. However, it may not be same in the 3×2 case in Table 1.

FIGS. 4 and 5 show simulation results for an IEEE 802.11n channels E and B using a 3×2 antenna configuration and a linear MMSE (LMMSE) receiver. The simulation results show that the case using an unequal modulation scheme of 64 QAM and QPSK has about 1.5 dB (0.8 dB) better in terms of packet error rate (PER) than the case using equal modulation scheme of 16 QAM and 16 QAM for channel E (channel B).

The transmitter and the receiver may be a wireless transmit/receive unit (WTRU) or a base station. The terminology “WTRU” includes but is not limited to a user equipment (UE), a mobile station, a fixed or mobile subscriber unit, a pager, a cellular telephone, a personal digital assistant (PDA), a computer, or any other type of user device capable of operating in a wireless environment. The terminology “base station” includes but is not limited to a Node-B, a site controller, an access point (AP), or any other type of interfacing device capable of operating in a wireless environment.

Although the features and elements of the present invention are described in the preferred embodiments in particular combinations, each feature or element can be used alone without the other features and elements of the preferred embodiments or in various combinations with or without other features and elements of the present invention. The methods or flow charts provided in the present invention may be implemented in a computer program, software, or firmware tangibly embodied in a computer-readable storage medium for execution by a general purpose computer or a processor. Examples of computer-readable storage mediums include a read only memory (ROM), a random access memory (RAM), a register, cache memory, semiconductor memory devices, magnetic media such as internal hard disks and removable disks, magneto-optical media, and optical media such as CD-ROM disks, and digital versatile disks (DVDs).

Suitable processors include, by way of example, a general purpose processor, a special purpose processor, a conventional processor, a digital signal processor (DSP), a plurality of microprocessors, one or more microprocessors in association with a DSP core, a controller, a microcontroller, Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs) circuits, any other type of integrated circuit (IC), and/or a state machine.

A processor in association with software may be used to implement a radio frequency transceiver for use in a wireless transmit receive unit (WTRU), user equipment (UE), terminal, base station, radio network controller (RNC), or any host computer. The WTRU may be used in conjunction with modules, implemented in hardware and/or software, such as a camera, a video camera module, a videophone, a speakerphone, a vibration device, a speaker, a microphone, a television transceiver, a hands free headset, a keyboard, a Bluetooth® module, a frequency modulated (FM) radio unit, a liquid crystal display (LCD) display unit, an organic light-emitting diode (OLED) display unit, a digital music player, a media player, a video game player module, an Internet browser, and/or any wireless local area network (WLAN) module. 

1. A method for transmitting multiple data streams, the method comprising: generating at least one spatial stream; performing space time block coding (STBC) processing on at least one spatial stream, wherein a plurality of space-time streams are generated after the STBC processing; cyclically rotating a vector of symbols on at least one space-time stream; and transmitting simultaneously the space-time streams via a plurality of transmit antennas.
 2. The method of claim 1 further comprising: performing spatial mapping to map the space-time streams to the transmit antennas.
 3. The method of claim 2 wherein an antennal mapping matrix is multiplied to the space-time streams.
 4. The method of claim 3 wherein the antenna mapping matrix is an identity matrix.
 5. The method of claim 3 wherein the antenna mapping matrix is for spatial spreading.
 6. The method of claim 3 wherein the antenna mapping matrix is a channel-specific steering matrix.
 7. The method of claim 3 wherein the antenna mapping matrix includes a set of channel eigenvectors.
 8. The method of claim 1 wherein a modulation and coding scheme (MCS) for each spatial stream is determined independently based on a signal-to-noise ratio of each spatial stream.
 9. A transmitter for transmitting multiple data streams, the transmitter comprising: a plurality of transmit antennas; and a spatial processing unit configured to perform space time block coding (STBC) processing on at least one spatial stream to generate a plurality of space-time streams after the STBC processing, cyclically rotate a vector of symbols on at least one space-time stream, and transmit simultaneously the space-time streams via a plurality of transmit antennas.
 10. The transmitter of claim 9 wherein the spatial processing unit is further configured to perform spatial mapping to map the space-time streams to the transmit antennas.
 11. The transmitter of claim 10 wherein an antennal mapping matrix is multiplied to the space-time streams.
 12. The transmitter of claim 11 wherein the antenna mapping matrix is an identity matrix.
 13. The transmitter of claim 11 wherein the antenna mapping matrix is for spatial spreading.
 14. The transmitter of claim 11 wherein the antenna mapping matrix is a channel-specific steering matrix.
 15. The transmitter of claim 11 wherein the antenna mapping matrix includes a set of channel eigenvectors.
 16. The transmitter of claim 9 wherein a modulation and coding scheme (MCS) for each spatial stream is determined independently based on a signal-to-noise ratio of each spatial stream. 